const { app, BrowserWindow,ipcMain} = require('electron')
const { db ,dbClose } = require('./db.js');
const { ipcMainBind } = require('./ipcMainBind.js');
//import('./test.js');
const path = require('path');
const fs = require('fs');

// 获取 userData 目录的路径
const userDataPath = app.getPath('userData');
// 定义要保存的数据文件的名称
const dataFileName = 'userPreferences.json';
// 构建完整的文件路径
const dataFilePath = path.join(userDataPath, dataFileName);

const createWindow = () => {
    const win = new BrowserWindow({
      width: 1200,
      height: 800,
      //autoHideMenuBar: true, 
      webPreferences: {
        preload: path.join(__dirname, './preload.js'), // 指定预加载脚本路径
        nodeIntegration: false, // 禁用 Node.js 和预加载脚本互斥
        contextIsolation: true,//启用上下文隔离
      },
      //icon: path.join(__dirname, './app.ico'), // 图片
      icon: 'app.png', // 指定窗口图片
    })
    // 全屏
    //win.maximize()
    win.setMenu(null);
    //win.loadFile('index.html')
    win.loadURL('http://localhost:8082/')
  }
  app.whenReady().then(() => {
    createWindow()
    ipcMainBind();
    app.on('activate', () => {
      if (BrowserWindow.getAllWindows().length === 0){
        createWindow()
      }
    })
    //生成文件  打印日志
    //log();
  })
  app.on('window-all-closed', () => {
    //dbClose();
    if (process.platform !== 'darwin') app.quit()
  })

  ///写入日志
  function log(){
     //写入日志示例数据
     const userData = {
      preferences: {
        theme: 'dark',
        language: 'zh-CN'
      }
    };

    //判断文件是否存在
    userDataPath && fs.existsSync(userDataPath) || fs.mkdirSync(userDataPath);

    // 将数据保存到文件
    fs.writeFile(dataFilePath, JSON.stringify(userData), (err) => {
      if (err) throw err;
      console.log('用户数据已保存到', dataFilePath);
    });
  }